package com.me.rabbitMQ.work;

import com.me.rabbitMQ.util.ConnectionUtil;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;


public class Sender {

    private final static String QUEUE_NAME = "test_work";

    public static void main(String[] argv) throws Exception {
        //获取连接以及mq通道
        Connection connection = ConnectionUtil.getConnect();
        //从连接中创建通道
        Channel channel = connection.createChannel();
        //声明（创建）队列
        //参数1 队列的名称
        //参数2 是否持久化队列，队列模式是在内存中的，如果 rabbitmq 重启会丢失，如果我们设置为 true，则会存到erlang
        //参数3 是否排外，有两个作用，第一个当我们的连接关闭后是否会自动删除队列，第二是否私有当前队列，如果私有，别
        //的通道不可访问当前队列，如果为true，一般是一个队列值只适用于一个消费者的时候
        //参数4 是否自动删除
        //参数5 其他参数
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        //消息内容
        for (int i=0; i<100; i++){
            String message = "工作时间！" + i;
            channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
            System.out.println("Sent '"+ message +"'");
        }
        //关闭通道和连接
        channel.close();
        connection.close();
    }
}
